package com.zpself.module.算法练习.算法;

/**
 * @author By ZengPeng
 * @Description 给定一个整数类型的数组 nums，请编写一个能够返回数组 “中心索引” 的方法。
 * 我们是这样定义数组 中心索引 的：数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。
 * 如果数组不存在中心索引，那么我们应该返回 -1。如果数组有多个中心索引，那么我们应该返回最靠近左边的那一个。
 * @date in  2021/1/20 19:13
 * @Modified By
 */
public class 力扣_724_寻找数组的中心索引 {
    public static void main(String[] args) {
        int[] w = {1, 7, 3,  5, 6};
        int[] w2 = {1, 2, 3};
        int[] w3= {1, 2, 2,1};
        System.out.println(myAnswer(w));
        System.out.println(myAnswer(w2));
        System.out.println(myAnswer(w3));
    }

    public  static  int  myAnswer(int[] nums){
        int total = 0;
        int leftTotal=0;
        for (int num : nums)
            total += num;
        for (int i = 0; i < nums.length; i++) {

            if(leftTotal*2 +nums[i]== total)
                return i;
            leftTotal+=nums[i];
        }
        return -1;
    }
}
